home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / arm / mach-pxa / include / mach / dma.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.2 KB  |  51 lines

  1. /*
  2.  *  arch/arm/mach-pxa/include/mach/dma.h
  3.  *
  4.  *  Author:    Nicolas Pitre
  5.  *  Created:    Jun 15, 2001
  6.  *  Copyright:    MontaVista Software, Inc.
  7.  *
  8.  * This program is free software; you can redistribute it and/or modify
  9.  * it under the terms of the GNU General Public License version 2 as
  10.  * published by the Free Software Foundation.
  11.  */
  12. #ifndef __ASM_ARCH_DMA_H
  13. #define __ASM_ARCH_DMA_H
  14.  
  15. /*
  16.  * Descriptor structure for PXA's DMA engine
  17.  * Note: this structure must always be aligned to a 16-byte boundary.
  18.  */
  19.  
  20. typedef struct pxa_dma_desc {
  21.     volatile u32 ddadr;    /* Points to the next descriptor + flags */
  22.     volatile u32 dsadr;    /* DSADR value for the current transfer */
  23.     volatile u32 dtadr;    /* DTADR value for the current transfer */
  24.     volatile u32 dcmd;    /* DCMD value for the current transfer */
  25. } pxa_dma_desc;
  26.  
  27. typedef enum {
  28.     DMA_PRIO_HIGH = 0,
  29.     DMA_PRIO_MEDIUM = 1,
  30.     DMA_PRIO_LOW = 2
  31. } pxa_dma_prio;
  32.  
  33. #if defined(CONFIG_MACH_ARMCORE) && defined(CONFIG_PCI)
  34. #define HAVE_ARCH_PCI_SET_DMA_MASK    1
  35. #endif
  36.  
  37. /*
  38.  * DMA registration
  39.  */
  40.  
  41. int __init pxa_init_dma(int num_ch);
  42.  
  43. int pxa_request_dma (char *name,
  44.              pxa_dma_prio prio,
  45.              void (*irq_handler)(int, void *),
  46.              void *data);
  47.  
  48. void pxa_free_dma (int dma_ch);
  49.  
  50. #endif /* _ASM_ARCH_DMA_H */
  51.